k=int(input())
for i in range(k):
a,b=map(int,input().split())
if a%2==0:
z=a//2-1
else:
z=a//2
if z<b:
print(-1,end='')
else:
c=0
l=[]
for i in range(1,a+1):
l.append(i)
l.sort()
for j in range(a):
if j%2==1:
c+=1
l.insert(j,l.pop())
if c==b:
break
for j in l:
print(j,end=' ')
print()
#include <bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int main()
{
fast;
long long int t;
long long int n;
long long int a;
long long int k;
long long int kh;
cin>>t;
for(long long int d(1);d<=t;d++){
cin>>n>>k;
if(n<(2*k+1)){
cout<<(-1)<<endl;}
else{
for(long long int i(0);i<(k);i++){
cout<<(i+1)<<" "<<(n-i)<<" ";}
for(long long int i(k);i<(n-k);i++){
cout<<(i+1)<<" ";}
cout<<endl;
}
}
return 0;
}
3C - Tic-tac-toe | 1669F - Eating Candies |
1323B - Count Subrectangles | 991C - Candies |
1463A - Dungeon | 1671D - Insert a Progression |
1671A - String Building | 1671B - Consecutive Points Segment |
1671C - Dolce Vita | 1669G - Fall Down |
4D - Mysterious Present | 1316B - String Modification |
1204A - BowWow and the Timetable | 508B - Anton and currency you all know |
1672A - Log Chopping | 300A - Array |
48D - Permutations | 677C - Vanya and Label |
1583B - Omkar and Heavenly Tree | 1703C - Cypher |
1511C - Yet Another Card Deck | 1698A - XOR Mixup |
1702E - Split Into Two Sets | 1703B - ICPC Balloons |
1702F - Equate Multisets | 1700A - Optimal Path |
665C - Simple Strings | 1708A - Difference Operations |
1703E - Mirror Grid | 1042A - Benches |